﻿<html xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    
    <meta name="save" content="history" />
    <meta name="Language" content="en-us" />
    <meta name="System.Keywords" content="builds [Visual Studio ALM], monitoring build quality" />
    <meta name="Microsoft.Help.Id" content="7e9e87ae-43c7-4ede-9c66-dd887f5a8905" />
    <meta name="Description" content="The Build Quality Indicators report shows test coverage, code churn, and bug counts for a specified build definition. You can use this report to help determine how close portions of the code are to release quality." />
    <meta name="Microsoft.Help.ContentType" content="Concepts" />
    <meta name="DCSext.ProductFamily" content="LIB_DG" />
    <meta name="DCSext.Product" content="ALM_TeamFoundation" />
    <meta name="DCSext.Title" value="Build Quality Indicators Report" />
    <link rel="stylesheet" type="text/css" href="../styles/presentation.css" />
    
    <script type="text/javascript" src="../scripts/EventUtilities.js"> </script>
    <script type="text/javascript" src="../scripts/SplitScreen.js"> </script>
    <script type="text/javascript" src="../scripts/Dropdown.js"> </script>
    <script type="text/javascript" src="../scripts/script_manifold.js"> </script>
    <script type="text/javascript" src="../scripts/script_feedBack.js"> </script>
    <script type="text/javascript" src="../scripts/CheckboxMenu.js"> </script>
    <script type="text/javascript" src="../scripts/CommonUtilities.js"> </script>
    <xml><mshelp:toctitle Title="Build Quality Indicators" /><mshelp:keyword Index="A" Term="7e9e87ae-43c7-4ede-9c66-dd887f5a8905" /><mshelp:keyword Index="K" Term="builds [Visual Studio ALM], monitoring build quality" /><mshelp:attr Name="RevisionNumber" Value="15" /><mshelp:attr Name="AssetID" Value="7e9e87ae-43c7-4ede-9c66-dd887f5a8905" /><mshelp:attr Name="Abstract" Value="The Build Quality Indicators report shows test coverage, code churn, and bug counts for a specified build definition. You can use this report to help determine how close portions of the code are to release quality. " /><mshelp:attr Name="CommunityContent" Value="1" /><mshelp:attr Name="ShippedIn" Value="vs.90" /><mshelp:attr Name="TopicVersion" Value="10.0.10236.10000" /><mshelp:attr Name="Catalog Container" Value="System_Default_Catalog" /><mshelp:attr Name="Content Set Container" Value="System_Default_Content_Set" /><mshelp:attr Name="TopicType" Value="kbArticle" /><mshelp:attr Name="Locale" Value="en-us" /></xml>
    <title>Build Quality Indicators Report</title>
</head>
<body>
	<input type="hidden" id="userDataCache" class="userDataStyle" />
	<input type="hidden" id="hiddenScrollOffset" />
	<img id="collapseImage" style="display:none; height:0; width:0;" src="../icons/collapse_all.gif" alt="Collapse image" title="Collapse image" />
	<img id="expandImage" style="display:none; height:0; width:0;" src="../icons/expand_all.gif" alt="Expand Image" title="Expand Image" />
	<img id="collapseAllImage" style="display:none; height:0; width:0;" src="../icons/collapse_all.gif" />
	<img id="expandAllImage" style="display:none; height:0; width:0;" src="../icons/expand_all.gif" />
	<img id="dropDownImage" style="display:none; height:0; width:0;" src="../icons/dropdown.gif" />
	<img id="dropDownHoverImage" style="display:none; height:0; width:0;" src="../icons/dropdownHover.gif" />
	<img id="copyImage" style="display:none; height:0; width:0;" src="../icons/copycode.gif" alt="Copy image" title="Copy image" />
	<img id="copyHoverImage" style="display:none; height:0; width:0;" src="../icons/copycodeHighlight.gif" alt="CopyHover image" title="CopyHover image" />
	<div id="header">
		<table id="topTable" cellspacing="0" cellpadding="0">
			<tr>
				<td>
					<span onclick="ExpandCollapseAll(toggleAllImage)" style="cursor:default;" onkeypress="ExpandCollapseAll_CheckKey(toggleAllImage, event)" tabindex="0">
						<img ID="toggleAllImage" class="toggleAll" src="../icons/collapse_all.gif" /> 
						<label id="collapseAllLabel" for="toggleAllImage" style="display: none;">Collapse All</label>
						<label id="expandAllLabel" for="toggleAllImage" style="display: none;">Expand All</label> 
					</span> 
					<span>    </span> 
					<span id="devlangsDropdown" class="filter" tabindex="0">
						<img id="devlangsDropdownImage" src="../icons/dropdown.gif" /> 
						<label id="devlangsMenuAllLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: All </nobr></label>
						<label id="devlangsMenuMultipleLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: Multiple </nobr></label>
						<label id="devlangsMenuVisualBasicLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: Visual Basic </nobr></label>
						<label id="devlangsMenuCSharpLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: C# </nobr></label>
						<label id="devlangsMenuManagedCPlusPlusLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: Visual C++ </nobr></label>
						<label id="devlangsMenuFSharpLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: F# </nobr></label>
						<label id="devlangsMenuJScriptLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: JScript </nobr></label>
					</span> 
				</td>
			</tr>
		</table>
		<div id="devlangsMenu">
			<input id="VisualBasicCheckbox" type="checkbox" data="VisualBasic,vb,'persist'" value="on" onClick="SetLanguage(this)" />
			<label class="checkboxLabel" for="VisualBasicCheckbox">Visual Basic</label><br />
			<input id="CSharpCheckbox" type="checkbox" data="CSharp,cs,'persist'" value="on" onClick="SetLanguage(this)" />
			<label class="checkboxLabel" for="CSharpCheckbox">C#</label><br />
			<input id="ManagedCPlusPlusCheckbox" type="checkbox" data="ManagedCPlusPlus,cpp,'persist'" value="on" onClick="SetLanguage(this)" />
			<label class="checkboxLabel" for="ManagedCPlusPlusCheckbox">Visual C++</label><br />
			<input id="FSharpCheckbox" type="checkbox" data="FSharp,fs,'persist'" value="on" onClick="SetLanguage(this)" />
			<label class="checkboxLabel" for="FSharpCheckbox">F#</label><br />
			<input id="JScriptCheckbox" type="checkbox" data="JScript,cs,'persist'" value="on" onClick="SetLanguage(this)" />
			<label class="checkboxLabel" for="JScriptCheckbox">JScript</label><br />
		</div>
		<table id="bottomTable" cellpadding="0" cellspacing="0">
			<tr id="headerTableRow1">
				<td align="left">
					<span id="runningHeaderText"> </span> 
				</td>
			</tr>
			<tr id="headerTableRow2">
				<td align="left">
					<span id="nsrTitle">Build Quality Indicators Report</span> 
				</td>
			</tr>
			<tr id="headerTableRow3">
				<td align="left">
					<span id="headfeedbackarea" class="feedbackhead">
						<a href="javascript:SubmitFeedback('bjordan@microsoft.com','','','10.0','10.0.10236.10000','%0\dThank%20you%20for%20your%20feedback.%20The%20GovDev%20team%20uses%20your%20feedback%20to%20improve%20documentation.%20While%20we%20are%20reviewing%20your%20feedback,%20we%20may%20send%20you%20e-mail%20to%20ask%20for%20clarification%20or%20feedback%20on%20a%20solution.%20We%20do%20not%20use%20your%20e-mail%20address%20for%20any%20other%20purpose%20and%20we%20delete%20it%20after%20we%20finish%20our%20review.%0\AFor%20further%20information%20about%20the%20privacy%20policies%20of%20Microsoft,%20please%20see%20http://privacy.microsoft.com/en-us/default.aspx.%0\A%0\d','Customer%20Feedback');">
							Send Feedback
						</a>
					</span> 
				</td>
			</tr>
		</table>
		<table id="gradientTable">
			<tr>
				<td class="nsrBottom" background="../icons/gradient.gif" />
			</tr>
		</table>
	</div>
    <div id="mainSection">
        <div id="mainBody">
            <div id="allHistory" class="saveHistory" onsave="saveAll()" onload="loadAll()" />
            <font color="DarkGray"><p /></font>
            <div class="introduction">
                <p>The Build Quality Indicators report shows test coverage, code churn, and bug counts
                    for a specified build definition. You can use this report to help determine how
                    close portions of the code are to release quality. </p>
                <p>Ideally, test rates, bugs, and code churn would all produce the same picture, but
                    they often do not. When you find a discrepancy, you can use the Bug Quality Indicators
                    report to examine the details of a specific build and data series. Because this
                    report combines test results, code coverage from testing, code churn, and bugs,
                    you can view many perspectives at the same time.</p>
                <p>For information about how to access, refresh, or manage reports, see <span sdata="link">
                    <a href="ReportsGovDev.html">Reports (GovDev)</a></span>. </p>
                <div class="alert">
                    <table width="100%" cellspacing="0" cellpadding="0">
                        <tr>
                            <th align="left">
                                <img class="note" alt="Note" title="Note" src="../icons/alert_note.gif" /><b>Note
                                </b></th>
                        </tr>
                        <tr>
                            <td>
                                <p>This report requires that the team project collection that contains your team project
                                    was provisioned with SQL Server Reporting Services. This report is not available
                                    if
                                    <img alt="Report" src="../art/Icon_reportTE.gif" />
                                    <span class="ui">Reports</span> does not appear when you open Team Explorer and expand
                                    your team project node. </p>
                            </td>
                        </tr>
                    </table>
                </div>
                <div class="caption"></div>
                <div class="tableSection">
                    <table width="50%" cellspacing="2" cellpadding="5" frame="lhs">
                        <tr>
                            <td>
                                <p><span class="label">In this topic</span> </p>
                                <ul>
                                    <li>
                                        <p><a href="#Data">Data in the Report</a></p>
                                    </li>
                                    <li>
                                        <p><a href="#Duration">Changing the Number of Builds in the Report</a></p>
                                    </li>
                                    <li>
                                        <p><a href="#Interpreting">Interpreting the Report</a></p>
                                    </li>
                                    <li>
                                        <p><a href="#Changing">Filtering the Report</a></p>
                                    </li>
                                </ul>
                            </td>
                            <td>
                                <p><span class="label">You can use this report to answer the following questions</span> 
                                    :</p>
                                <ul>
                                    <li>
                                        <p>What is the quality of the software?</p>
                                    </li>
                                    <li>
                                        <p>How often are tests passing, and how much of the code is being tested? </p>
                                    </li>
                                    <li>
                                        <p>Based on the code and test metrics, is the team likely to meet target goals?
                                        </p>
                                    </li>
                                </ul>
                            </td>
                        </tr>
                    </table>
                </div>
                <p><span class="label">Required Permissions</span> </p>
                <p>To view the report, you must be assigned or belong to a group that has been assigned
                    the <span class="ui">Browser</span> role in Reporting Services. For more information,
                    see <span sdata="link"><a href="http://msdn.microsoft.com/library/3cfefdd2-b161-4e04-8dc0-e2deeac50262">
                        Add Users to Team Projects</a></span> or <span sdata="link"><a href="http://msdn.microsoft.com/library/8f1f5f39-ed0f-4539-bee1-7e7e77bb5728">
                            Managing Permissions</a></span>.</p>
            </div>
            <a name="Data" />
            <h1 class="heading"><span onclick="ExpandCollapse(sectionToggle0)" style="cursor: default;"
                onkeypress="ExpandCollapse_CheckKey(sectionToggle0, event)" tabindex="0">
                <img id="sectionToggle0" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />Data
                in the Report</span> </h1>
            <div id="sectionSection0" class="section" name="collapseableSection" style="">
                <p>The data that appears in the Build Quality Indicators report is derived from the
                    data warehouse. The X-axis lists the specific builds that the report includes, based
                    on the filters that you have set for the platform, configuration, and build definition.
                </p>
                <p>Each vertical bar represents a set of data that was derived from one or more builds.
                    In the code size variant of the report, each vertical bar’s length represents the
                    size of the checked in code base. The bars are scaled so that the largest figure
                    fits into the height of the chart. Manual tests can be run any time after the build,
                    and they are associated with that build. Tests that have not been run yet are counted
                    as "inconclusive."</p>
                <p>The following illustration displays a sample Build Qualities Indicators report.
                </p>
                <img alt="Example Build Quality Indicators report" src="../art/ProcGuid_BuildQualityIndicators.png" /><p>
                    The following table describes the information that appears for each quality indicator
                    in the report:</p>
                <div class="caption"></div>
                <div class="tableSection">
                    <table width="50%" cellspacing="2" cellpadding="5" frame="lhs">
                        <tr>
                            <th>
                                <p>Quality indicator</p>
                            </th>
                            <th>
                                <p>Description</p>
                            </th>
                        </tr>
                        <tr>
                            <td>
                                <p><span class="ui">Active Bugs (count)</span> </p>
                            </td>
                            <td>
                                <p>Line chart that depicts the number of bugs that were active at the time of the build.
                                </p>
                                <div class="alert">
                                    <table width="100%" cellspacing="0" cellpadding="0">
                                        <tr>
                                            <th align="left">
                                                <img class="note" alt="Note" title="Note" src="../icons/alert_note.gif" /><b>Note
                                                </b></th>
                                        </tr>
                                        <tr>
                                            <td>
                                                <p>Bugs are not explicitly associated with builds. Some of the bugs counted might not
                                                    affect the builds that appear in the chart. You can use the Area parameter to filter
                                                    bugs by product area. This technique might show bugs that are most likely to affect
                                                    the builds in the report.</p>
                                            </td>
                                        </tr>
                                    </table>
                                </div>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <p><span class="ui">Code Churn (lines)</span> </p>
                            </td>
                            <td>
                                <p>Line chart that depicts the number of lines of code that the team added, removed,
                                    and changed in the checkins before the build. The code churn is calculated by determining
                                    the number of lines of code that have been added, deleted, or modified to the build
                                    divided by the total lines in the build. </p>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <p><span class="ui">Code Coverage (percent)</span> </p>
                            </td>
                            <td>
                                <p>Line chart that depicts the percentage of code that the tests cover. </p>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <p><span class="ui">Inconclusive Tests</span> </p>
                            </td>
                            <td>
                                <p>Gray portion of the stacked bar chart, which indicates the number of tests that did
                                    not succeed or were paused. If the build did not succeed, the tests are either not
                                    counted or counted as inconclusive.</p>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <p><span class="ui">Failed Tests</span> </p>
                            </td>
                            <td>
                                <p>Red portion of the stacked bar chart, which indicates the number of tests that failed
                                    for the build.</p>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <p><span class="ui">Passed Tests</span> </p>
                            </td>
                            <td>
                                <p>Green portion of the stacked bar chart, which indicates the number of tests that
                                    passed for the build.</p>
                            </td>
                        </tr>
                    </table>
                </div>
                <div class="alert">
                    <table width="100%" cellspacing="0" cellpadding="0">
                        <tr>
                            <th align="left">
                                <img class="note" alt="Note" title="Note" src="../icons/alert_note.gif" /><b>Note
                                </b></th>
                        </tr>
                        <tr>
                            <td>
                                <p>For more information about the meaning of failing and passing tests results, see
                                    <span sdata="link"><a href="TestPlanProgressReport.html">Test Plan Progress Report</a>
                                    </span>.</p>
                            </td>
                        </tr>
                    </table>
                </div>
                <p>You can filter the report in the following ways:</p>
                <ul>
                    <li>
                        <p>Change the range of the X-axis by specifying the number of builds and specifying
                            the end date for the report. The date of the first build shown will depend on the
                            frequency of builds.</p>
                    </li>
                    <li>
                        <p>Filter the set of builds that the report shows by specifying the platform, configuration,
                            and build definition to include in the report. Set the parameters in that sequence
                            because the set of available values for build definition depends on the platform
                            and configuration.</p>
                    </li>
                    <li>
                        <p>Filter the bugs that are counted in the report by specifying the product areas to
                            include. This filter does not affect the set of builds that appear on the X-axis,
                            the code churn, code coverage, or test results.</p>
                    </li>
                </ul>
                <p>For more information, see <a href="#Changing">Filtering the Report</a>later in this
                    topic.</p>
                <h3 class="subHeading">Required Test and Build Management Activities</h3>
                <div class="subsection">
                    <p>For the Build Quality Indicators report to be useful and depict all the quality indicators
                        that it can display, team members must perform the following activities to manage
                        tests and builds: </p>
                    <ul>
                        <li>
                            <p><span class="label">Configure a build system</span>. To use Team Foundation Build,
                                you must set up a build system. </p>
                            <p>For more information, see <span sdata="link"><a href="http://msdn.microsoft.com/library/e5a1f360-7c62-44fc-8823-c6ebcd62bc20">
                                Configure Your Build System</a></span>.</p>
                        </li>
                        <li>
                            <p><span class="label">Create build definitions</span>. You can create several build
                                definitions, each of which can be run to produce code for a different platform.
                                Also, you can run each build for a different configuration.</p>
                            <p>For more information, see <span sdata="link"><a href="http://msdn.microsoft.com/library/61593e10-d24b-492f-b19a-af4d85abea6b">
                                Creating and Working with Build Definitions</a></span>.</p>
                        </li>
                        <li>
                            <p><span class="label">Define tests to run automatically as part of the build</span>.  
                                As part of the build definition, you can define tests to run as part of the build
                                or to fail if the tests fail.</p>
                            <p>For more information, see <span sdata="link"><a href="http://msdn.microsoft.com/library/43930b12-c21b-4599-a980-2995e3d16e31">
                                Define a Build Using the Default Template</a></span>.</p>
                        </li>
                        <li>
                            <p><span class="label">Configure tests to gather code coverage data</span>. For code
                                coverage data to appear in the report, team members must instrument tests to gather
                                that data.</p>
                            <p>For more information, see <span sdata="link"><a href="http://msdn.microsoft.com/library/8dcf94f8-8b85-41ba-a5a2-d12aa5d2da85">
                                How to: Configure Code Coverage Using Test Settings for Automated Tests</a></span> 
                                and <span sdata="link"><a href="http://msdn.microsoft.com/library/164f5cb9-9dad-4a0b-83e3-68e83ca99431">
                                    How to: Gather Code-Coverage Data with Generic Tests</a></span>.</p>
                        </li>
                        <li>
                            <p><span class="label">Run builds regularly</span>. You can run builds at set intervals
                                or after every check-in. You can create regular builds when you use the schedule
                                trigger.</p>
                            <p>For more information, see <span sdata="link"><a href="http://msdn.microsoft.com/library/1c2eca2d-9a65-477e-9b23-0678ff7882ee">
                                Create a Basic Build Definition</a></span> and <span sdata="link"><a href="http://msdn.microsoft.com/library/5b8d6647-938a-4f7b-a72b-0f1921af849f">
                                    Running and Monitoring Builds</a></span>.</p>
                            <div class="alert">
                                <table width="100%" cellspacing="0" cellpadding="0">
                                    <tr>
                                        <th align="left">
                                            <img class="note" alt="Note" title="Note" src="../icons/alert_note.gif" /><b>Note
                                            </b></th>
                                    </tr>
                                    <tr>
                                        <td>
                                            <p>Although a team member can manually rate a build by using Build Explorer, this rating
                                                is not reflected in the Build Quality Indicators report. The build rating appears
                                                in the Build Summary report. For more information, see <span sdata="link"><a href="http://msdn.microsoft.com/library/fa9e34bb-8142-46e3-8bea-c4909a10e2bf">
                                                    Rate the Quality of a Completed Build</a></span> and <span sdata="link"><a href="BuildSummaryReport.html">
                                                        Build Summary Report</a></span>.</p>
                                        </td>
                                    </tr>
                                </table>
                            </div>
                        </li>
                    </ul>
                </div>
            </div>
            <a name="Duration" />
            <h1 class="heading"><span onclick="ExpandCollapse(sectionToggle1)" style="cursor: default;"
                onkeypress="ExpandCollapse_CheckKey(sectionToggle1, event)" tabindex="0">
                <img id="sectionToggle1" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />Changing
                the Number of Builds in the Report</span> </h1>
            <div id="sectionSection1" class="section" name="collapseableSection" style="">
                <p>The display of the Build Quality Indicators report will vary significantly based
                    on the number of builds that the report includes and other filters that you apply
                    to the report. You can focus the report on a specific range of builds by changing
                    the number of builds that appear in the report. </p>
                <h3 class="procedureSubHeading">To set the number of builds that are represented in
                    the report</h3>
                <div class="subSection">
                    <ol>
                        <li>
                            <p>In <span class="ui">Number of Builds</span>, type the number to include.</p>
                        </li>
                        <li>
                            <p>Next to <span class="ui">End (Date)</span>, click the calendar icon, and then click
                                the date that corresponds to the last day that builds were run that you want to
                                include in the report. </p>
                        </li>
                        <li>
                            <p>Click <span class="ui">View Report</span>.</p>
                        </li>
                    </ol>
                </div>
            </div>
            <a name="Interpreting" />
            <h1 class="heading"><span onclick="ExpandCollapse(sectionToggle2)" style="cursor: default;"
                onkeypress="ExpandCollapse_CheckKey(sectionToggle2, event)" tabindex="0">
                <img id="sectionToggle2" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />Interpreting
                the Report</span> </h1>
            <div id="sectionSection2" class="section" name="collapseableSection" style="">
                <p>You can review the report to find answers to these questions for any specific build
                    definition:</p>
                <ul>
                    <li>
                        <p>What is the quality of the software?</p>
                    </li>
                    <li>
                        <p>Is the team testing enough of our code?</p>
                    </li>
                    <li>
                        <p>Are the tests passing?</p>
                    </li>
                    <li>
                        <p>Is the team is likely to finish based on the code and test metrics? </p>
                    </li>
                    <li>
                        <p>How often are tests passing, and how much of the code is being tested?</p>
                        <div class="alert">
                            <table width="100%" cellspacing="0" cellpadding="0">
                                <tr>
                                    <th align="left">
                                        <img class="note" alt="Note" title="Note" src="../icons/alert_note.gif" /><b>Note
                                        </b></th>
                                </tr>
                                <tr>
                                    <td>
                                        <p>The ratio of colored to grey segments reflects the fraction of the code that tests
                                            cover, but the proportions within the colored segments only approximately reflect
                                            the fractions of code that passes or fails tests. This ambiguity is because the
                                            fraction of green within the colored segment actually represents the number of tests
                                            that pass. A single error in one part of the code could cause many tests to fail,
                                            or a single failure might represent an extensive error in the design that has consequences
                                            throughout the code base.</p>
                                    </td>
                                </tr>
                            </table>
                        </div>
                    </li>
                </ul>
                <h3 class="subHeading">Healthy Version of Report</h3>
                <div class="subsection">
                    <p>A healthy Build Quality Indicators report will show the following indicators:
                    </p>
                    <ul>
                        <li>
                            <p>Most tests are passing (large areas of green), and few tests are failing (small amounts
                                of red).</p>
                        </li>
                        <li>
                            <p>The percentage of red is less than 20-30 percent.</p>
                        </li>
                    </ul>
                    <p>As the following illustration shows, code coverage and test pass rates are high and
                        increasing over time. Code churn, active bugs, inconclusive tests, and failed tests
                        are all low and decreasing.</p>
                    <img alt="Healthy version of Build Qualities Indicator" src="../art/ProcGuid_BuildQuality_Healthy.png" />
                </div>
                <h3 class="subHeading">Unhealthy Versions of the Build Quality Indicators Report
                </h3>
                <div class="subsection">
                    <p>An unhealthy version of the Build Quality Indicators report shows one or more of
                        the following indicators. You might want to investigate the cause according to the
                        following guidance.</p>
                    <ul>
                        <li>
                            <p><span class="label">Less code coverage and more code churn</span>. The following
                                illustration shows a decrease in code coverage and an increase in code churn. This
                                data is a clear warning that new code is being checked in without corresponding
                                unit tests to cover it.</p>
                            <img alt="Code Churn in Build Quality Indicators report" src="../art/ProcGuid_BuildQuality_Unhealthy_CodeChurn.png" />
                        </li>
                        <li>
                            <p><span class="label">Low rate of tests being run</span>. The following illustration
                                shows a low rate of tests being run. This data might indicate that the team is not
                                performing enough testing. This blockage could indicate lack of resources, or testers
                                might be doing something else, such as writing test automation instead of testing
                                the current functionality. In either case, resource balancing might be warranted.
                            </p>
                            <img alt="Low rate tests in Build Quality Indicators report" src="../art/ProcGuid_Unhealth_LowRateTests2.png" />
                        </li>
                        <li>
                            <p><span class="label">High code churn, low rate of code coverage</span>. High code
                                churn suggests that bugs will be introduced as side effects of the changes. In a
                                perfectly refactored project, you can see code churn with no change in code coverage
                                or test pass rates. Otherwise, high code churn might indicate decreased coverage
                                and the need to rewrite tests.</p>
                            <p>The following illustration shows a high rate of code churn and a low rate of code
                                coverage from testing, even though test pass rates remain high. This data indicates
                                that tests that are being run are not exercising the new code.</p>
                            <img alt="High Code Churn in Build Quality Indicators report" src="../art/ProcGuid_BuildQuality_Unhealthy_HighCodeChurn.png" />
                        </li>
                        <li>
                            <p><span class="label">High rate of tests failing</span>. The following illustration
                                shows that many tests are being run with reasonable code coverage, but the tests
                                are failing. This data might indicate loose development practices, or, in early
                                iterations, the tests might be too harsh for this stage of the product.</p>
                            <img alt="Test Failing in Build Quality Indicators report" src="../art/ProcGuid_BuildQuality_Unhealthy_TestFailing.png" /><p>
                                Failing tests should be addressed as soon as possible. If fixing the code is not
                                practical, the failing tests should be temporarily disabled, and a bug should be
                                logged. Although it is sometimes acceptable to treat code analysis faults with less
                                urgency early in the project, you should not let the red sections get too large.
                            </p>
                        </li>
                        <li>
                            <p><span class="label">High rate of tests passing and high active bug rate</span>. The
                                following illustration shows a high test pass rate but still a large incoming bug
                                rate. This situation can occur for several reasons. Tests might not be sufficiently
                                rigorous for this stage of the product.</p>
                            <img alt="Low Test Rate in Build Quality Indicators report" src="../art/ProcGuid_BuildQuality_Unhealthy_LowRateTests.png" /><p>
                                In early iterations, simple tests are good, but as the product matures, tests should
                                exercise broader scenarios and integrations. Tests might be stale, or they might
                                be testing the wrong functionality. It might be time to switch test techniques.
                            </p>
                        </li>
                        <li>
                            <p><span class="label">Test pass rates increasing and no increase in code coverage</span>. 
                                Ordinarily, as more tests are run, more code should be covered. On the other hand,
                                if test execution and test pass rates increase without a corresponding increase
                                in code coverage, the incremental tests might be redundant.</p>
                        </li>
                        <li>
                            <p><span class="label">Active bug count is increasing, but test failures are not increasing
                                </span>. If the active bug count is increasing and your tests are not showing corresponding
                                failures, your tests are probably not testing the same functionality that the bugs
                                are reporting.</p>
                        </li>
                        <li>
                            <p><span class="label">Active bug count is decreasing, but test passes are not increasing
                                </span>. If the active bug count is decreasing and test pass rates are not increasing,
                                you might be at risk for an increasing reactivation rate. </p>
                        </li>
                        <li>
                            <p><span class="label">Large areas of gray</span>. Gray segments signify code that was
                                not built or tested within the given build. This data appears only in a periodic
                                report where one or more of the specified builds did not occur within the period.
                            </p>
                        </li>
                    </ul>
                </div>
            </div>
            <a name="Changing" />
            <h1 class="heading"><span onclick="ExpandCollapse(sectionToggle3)" style="cursor: default;"
                onkeypress="ExpandCollapse_CheckKey(sectionToggle3, event)" tabindex="0">
                <img id="sectionToggle3" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />Filtering
                the Report</span> </h1>
            <div id="sectionSection3" class="section" name="collapseableSection" style="">
                <p>You can filter the Build Quality Indicators report in the following ways:</p>
                <ul>
                    <li>
                        <p>Change the time interval by specifying the number of builds and specifying the end
                            date for the report. </p>
                    </li>
                    <li>
                        <p>Filter the set of builds that are represented in the report by specifying the platform,
                            configuration, and build definition to include in the report. </p>
                        <div class="alert">
                            <table width="100%" cellspacing="0" cellpadding="0">
                                <tr>
                                    <th align="left">
                                        <img class="note" alt="Note" title="Note" src="../icons/alert_note.gif" /><b>Note
                                        </b></th>
                                </tr>
                                <tr>
                                    <td>
                                        <p>You can configure build definitions to run no tests, some tests, or all tests. The
                                            report will vary greatly based on the configuration of the build definitions.
                                        </p>
                                    </td>
                                </tr>
                            </table>
                        </div>
                    </li>
                    <li>
                        <p>Filter the bugs that are counted in the report by specifying the product areas to
                            include. </p>
                    </li>
                </ul>
                <p>The following illustration shows the available filters:</p>
                <img alt="Filters for Build Quality Indicators" src="../art/ProcGuid_BuildQualityIndicators_Filters.png" /><p>
                    Apply the filters in the sequence that the following procedure specifies. The options
                    that are available with some filters depend on the filters that you previously set.
                </p>
                <h3 class="procedureSubHeading">To filter the builds that appear in the report</h3>
                <div class="subSection">
                    <ol>
                        <li>
                            <p>In <span class="ui">Number of Builds</span>, type the number to include.</p>
                        </li>
                        <li>
                            <p>Next to <span class="ui">End Date</span>, click the calendar icon, and then click
                                the last date for builds to include. </p>
                        </li>
                        <li>
                            <p>In the <span class="ui">Platform</span> list, select the check box of each platform
                                to include. </p>
                        </li>
                        <li>
                            <p>In the <span class="ui">Configuration</span> list, select the check box of each configuration
                                to include.</p>
                        </li>
                        <li>
                            <p>In the <span class="ui">Build Definition</span> list, select the check box of each
                                build definition to include.</p>
                        </li>
                        <li>
                            <p>Click <span class="ui">View Report</span>.</p>
                        </li>
                    </ol>
                </div>
                <h3 class="procedureSubHeading">To filter the bug counts that are displayed in the report
                </h3>
                <div class="subSection">
                    <ol>
                        <li>
                            <p>In the <span class="ui">Area</span> list, select the check box of each test result
                                to include.</p>
                            <p>This step filters the report based on the hierarchy of test results. </p>
                        </li>
                        <li>
                            <p>Click <span class="ui">View Report</span>.</p>
                        </li>
                    </ol>
                </div>
            </div>
            <h1 class="heading"><span onclick="ExpandCollapse(seeAlsoToggle)" style="cursor: default;" onkeypress="ExpandCollapse_CheckKey(seeAlsoToggle, event)" tabindex="0">
                <img id="seeAlsoToggle" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />See Also</span> 
            </h1>
            <div id="seeAlsoSection" class="section" name="collapseableSection" style="">
                <h4 class="subHeading">Concepts</h4>
                <div class="seeAlsoStyle"><span sdata="link"><a href="TestPlanProgressReport.html">Test Plan Progress Report</a></span> </div>
                <div class="seeAlsoStyle"><span sdata="link"><a href="BuildSuccessOverTimeReport.html">Build Success Over Time Report</a></span> </div>
                <div class="seeAlsoStyle"><span sdata="link"><a href="BuildSummaryReport.html">Build Summary Report</a></span> </div>
                <div class="seeAlsoStyle"><span sdata="link"><a href="ArtifactsGovDev.html">Artifacts (GovDev)</a></span> </div>
                <h4 class="subHeading">Other Resources</h4>
                <div class="seeAlsoStyle"><span sdata="link"><a href="ReportsGovDev.html">Reports (GovDev)</a></span> </div>
            </div>
        </div>
        <div id="footer">
            <div class="footerLine">
                <img width="100%" height="3px" src="../icons/footer.gif" alt="Footer image" title="Footer image" />
            </div>
            <span id="feedbackarea">Send <a href="javascript:SubmitFeedback('bjordan@microsoft.com','','','10.0','10.0.10236.10000','%0\dThank%20you%20for%20your%20feedback.%20The%20GovDev%20team%20uses%20your%20feedback%20to%20improve%20documentation.%20While%20we%20are%20reviewing%20your%20feedback,%20we%20may%20send%20you%20e-mail%20to%20ask%20for%20clarification%20or%20feedback%20on%20a%20solution.%20We%20do%20not%20use%20your%20e-mail%20address%20for%20any%20other%20purpose%20and%20we%20delete%20it%20after%20we%20finish%20our%20review.%0\AFor%20further%20information%20about%20the%20privacy%20policies%20of%20Microsoft,%20please%20see%20http://privacy.microsoft.com/en-us/default.aspx.%0\A%0\d','Customer%20Feedback');">
                feedback </a>on this topic or submit an issue at the GovDev for TFS Codeplex Site.</span> 
        </div>
    </div>
</body>
</html>
